
The Crystal Reports Underground News Volume 2009.03
an independent source for Crystal Reports Information
by Ken Hamady, MS
Contents for March 2009:
** New license restrictions for Crystal Reports
** Expert Techniques vol. 2 updated for CR 2008
** Learn Crystal Reports (your place or mine):
** New options for Web app developers
** Finding old (and new) downloads on the SAP site
** My library of Crystal Reports materials
** Reporting on data that isn't there Part 1
** Other recent blog articles:
Mapping versions to Service Packs
Gag orders in software contracts?
Founder of Business Objects goes open source
Free DataDirect ODBC drivers v5.3 for CR 2008
CR 2008 SP1 is released
SAP 'fully integrates' Business Objects sales
New license restrictions for Crystal Reports
Here we go again. Every two years I have to fire up the press because someone starts abusing the Crystal Reports End User License Agreement (EULA). This change is tied to Crystal Reports 2008 Release 2 (due in May). I don't know anything about the fixes or new features of the release, but I have read the new EULA and I am disappointed. There is a new restrictions that affect every user who takes a Crystal Reports class. I was asked not to publish the actual license but here is my paraphrase of restriction (a):
"When you take a class anywhere, on any of our products, you agree to pay us an additional fee - in whatever amount we choose"
Now they don't use that exact wording, but that is what it means to you. They expect every copy of courseware, written or sold by anyone, to generate revenue to SAP. The last I heard they wanted between $35 and $50 per book, but that will go up more once they control all of the courseware vendors. I was told two years ago that the authorized training vendors pay between $150 and $200 per book for 'authorized' courseware, so you know what they consider a 'fair' price.
Since 2005 SAP has been trying to convince independent courseware vendors that the use of screenshots is illegal without SAP's permission. Two courseware vendors went along in 2005 and simply raised the price of their books. But Mark Myers of Vision Harvest in Colorado has simply ignored the threats. I have previously discussed one nasty letter he received in December. But, since these threats haven't worked, SAP has now added restrictions to the EULA. Restriction "A" forbids a licensed user of the software from using screenshots in "commercial training material". This puts all courseware under their control and allows them to charge whatever fee they want to the vendors. The cost will get passed on to the users. Do you think SAP is entitled to add this 'tax' onto users, after the users have already paid for Crystal Reports?
I see it this way:
1) SAP creates a valuable product and SAP is paid for the product.
2) SAP adds value to their 'authorized' courseware by certifying it and promoting it. SAP can charge a fair price for that added value. The books will sell at a premium that reflects the added value.
But SAP wants the premium to be invisible. That way they can set the premium as high as they want, without regard to its value. And if this works for courseware do you really think SAP will stop there? I predict they will go after independent reference books next, like my "Expert" series. Then independent training and finally independent consulting. The last two have already been restricted in the licenses for BO Enterprise and Xcelsius, so I think the only reason SAP hasn't added them to the CR license is the response from users.
So, if you are concerned by SAP's approach then I recommend that you at least ask some questions. You don't even need to complain.
1) First send an Email to Beth Christopher (first name , period, last name @SAP.com) and request a copy of the new license to review. Beth is the person that notified Mark Myers of the new license restrictions. Just say you are concerned and want to know more. You might even suggest that they post the new license publicly. You will be amazed at the impact a group of users can have just by saying that you are paying attention.
2) When you get a copy of the license, review it. If you want, skip to section 4 (the new part). Then share whatever concerns you have with Beth about the direction SAP is taking with their license.
3) If you are part of a user group or a large organization, see if you can get a representative to send a message for that group. If you have contact with any publications or journalists who cover the "BI" market, forward this info on to them.
4) And, if you don't mind, please keep me in the loop. You could CC/BCC me on the message or just drop me a line. If you have additional concerns, let me know. If you have any questions please don't hesitate to ask.
I have gone down this road several times now and I have found that user input has a huge impact.
Expert Techniques vol. 2 updated for CR 2008
After updating Volume 1 of Expert Techniques in January, I decided to read through the other two volumes to see if any of those articles needed to be updated. I didn't find anything to update in Volume 3, but I found a handful of improvements to make in Volume 2. So this week I updated the text and a few reports in Volume 2.
If you purchased this volume in 2009 you already have the updated version. If you purchased Volume 2 in 2008 (or earlier) please let me know and I will send you the update. Here are the updated articles:
35. Grouping subtotals into ranges
41. Carving a memo field into smaller pieces
42. Expanding the design area in Crystal Reports
43. Reading an external image at runtime (or an image path stored in the database)
58. Suppress the Group Footer or change other properties at Drill-Down
New license options for Web app developers
According to this Blog post on the SAP network, SAP is now selling a license that allows you to redistribute web applications AND include the Crystal Reports 2008 runtime engine. Before this license, every deployment of a web application required the client to purchase one copy of Crystal Reports 2008 to provide the runtime license for the Crystal web engine. Now the application developer can purchase a "Developer Advantage" distribution license. For $2,500 you are allowed unlimited distribution of the runtime engine with your web app. This only applies to CR 2008. Deploying a web application on any prior version still requires that you follow the licensing model for that version. Developer Advantage does NOT allow you to distribute the Crystal Reports designer, and it does NOT allow for "Software as a Service" deployments, both of which you should discuss with the OEM team at SAP Business Objects.
There is still the option to purchase a single copy of Crystal Reports 2008 to support each deployment, but this option is going to be phased out in favor of the Developer Advantage license. The good news is that this has no effect on "Thick Client" or local application deployments where the runtime engine is installed/run on a workstation. Crystal Reports still allows unlimited deployment of client based applications if you use the Developer Edition of any prior version of Crystal, or CR 2008 (which only comes in one edition).
Finding old (and new) downloads on the SAP site
In the middle of 2008, SAP moved all of the BO support documents and files to the SAP support servers. What they didn't do is put in any forwarding links from the old file locations to the new file locations. So web pages (like mine) that have links to those files had to be updated for the new links. That in itself would be no big deal, except there was no easy way to find the links to the new files. It has taken me 6 months to locate the 15 files referenced on my LINKS page. I found some and Mike McCracken of LM Computing & Consulting found some others. A few we couldn't find at all until yesterday when I noticed a new download search page feature on SAP's web site. So I have finally updated all of my links.
The next step would be for Business Objects to update their own links. Almost every support document or knowledgebase article I have seen still has links that point to the old servers. Of course none of these links work anymore, so you get dumped onto the general support page on SAP's site. Don't bother with the search box at the top if you want to find files. To find files you have to to go to "downloads" and follow a couple of page hops to get to the downloads search page I mentioned above. But once you are there you have about 1500 files, covering versions as old as v2.
My complete library of Crystal Reports materials
Let a master teacher help you understand these Crystal Topics. Each guide comes with clear explanations and sample files to illustrate each concept.
Expert's Guide to Formulas ($36)
Expert's Guide to Subreports, Parameters and Alerts ($28)
Expert's Guide to Totals ($24)
Expert's Guide to Cross-Tabs ($22)
Expert Techniques Vol. I ($19)
Expert Techniques Vol. II ($19)
Expert Techniques Vol. III($19)
Quick Reference to Crystal Reports in Visual Basic ($16)
Quick Reference to Crystal Reports in .NET ($14)
You will find these on the LIBRARY page of my site.
Reporting on data that isn't there Part 1 (padding)
Crystal will not create a group in a report unless there is at least one record for that group in the report's dataset. This also affects Cross-tabs and Charts, where you won't see a row, column or bar unless there is a corresponding record. But, it is not unusual for users to request that missing groups show up with a zero. There are several ways to do this and the approach to use depends on a number of factors. Everyone's first thought is to use an outer join, but I have found that the outer join solution isn't compatible with the filtering and grouping required in most reports.
One of my favorite workarounds is the "padding" method. Say that you need a report to list total sales for each salesman in a single month. You want each salesmen listed - even those with no sales in the month. You could "pad" the data by expanding the criteria to include normally irrelevant records. So if the transaction table includes both sales and calls, and you are confident that every salesman has at least one call per month, then we could select the records for BOTH sales and calls and include them in the dataset. This would ensure that every salesman has at least one record in the report. To make sure that these extra records don't affect the totals, you would write a formula to use for totals:
if {Type} = "Sale"
then {Amount} else 0
then {Amount} else 0
If you subtotal this formula by salesman you will have a group for every salesman, but a total of only the sales. If you are printing the details you could suppress the call details and only show the sales details. The advantage of this method is that both charts and cross-tabs can also include the no-sale groups with a total of zero.
Another way to pad your data is to pull in a much larger time period than you need. So if you have a Date Range parameter you could write a selection formula that says:
{Date} in Minimum ({?Date Range}) - 90 to Maximum ({?Date
Range})
This would add 90 extra days of data to your report, making it more likely that every salesman will be represented by a sale. Then you use the following formula for your totals:
if {Date} = {?Date Range}
then {Amount} else 0
then {Amount} else 0
The risk is finding the right amount of padding. You need enough data to fill in all the gaps, but not so much that you hamper the performance of the report.
There are other methods that I will discuss in later posts. If you like to learn techniques like this, then you should check out my 3 volumes of Expert Techniques.
Other recent blog articles
Mapping Versions to Service Packs
Gag orders in contracts?
Founder of Business Objects goes Open Source
Free DataDirect ODBC Drivers v5.3 for CR 2008
CR 2008 SP1 is released
SAP 'Fully Integrates' Business Objects Sales
Contact Information
Ken Hamady, MS
525K East Market St.
PMB 299
Leesburg, VA 20176
(540) 338-0194
ken@kenhamady.com
http://www.kenhamady.com
Copyright 2009 by Ken Hamady
All rights reserved - Republishing this material requires written permission